/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nx.behaviors;

import nx.behaviors.*;
import nx.utils.*;
import nx.robot.*;
import javaclient3.*;
/**
 *
 * @author alejo
 */
public class NxPSLocalizePast extends NxBehavior{


    private Position2DInterface position;
    private Vector2D lastPos;

    public NxPSLocalizePast(String name,Position2DInterface position)
    {
        super(name);
        this.position = position;
        lastPos = Position2DHelper.getPosition(position);

    }

    //TODO: No funciona bien todavia. Es recomendable que el método value se llame
    //con una frecuencia mucho más baja que la que llama el arbitro, para que haya
    //una diferencia relevante.
    public Vector2D value()
    {
        Vector2D result = new Vector2D(0,0,Vector2D.MODE_XY);

        Vector2D newPos = Position2DHelper.getPosition(position);

        result = lastPos.sub(newPos);

        lastPos = newPos;

        return result;
    }
}
